curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/companies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"external_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"name": "TechWolf",
"vat": "BE0702852201",
"location": {
"lat": 51.0216707,
"lng": 3.6887328
},
"languages": [
{
"language": "nl",
"level": 2
}
]
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/companies"
payload = {
"external_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"name": "TechWolf",
"vat": "BE0702852201",
"location": {
"lat": 51.0216707,
"lng": 3.6887328
},
"languages": [
{
"language": "nl",
"level": 2
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
external_id: 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
name: 'TechWolf',
vat: 'BE0702852201',
location: {lat: 51.0216707, lng: 3.6887328},
languages: [{language: 'nl', level: 2}]
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/companies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant_name}.{region}.techwolf.ai/companies",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'external_id' => 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
'name' => 'TechWolf',
'vat' => 'BE0702852201',
'location' => [
'lat' => 51.0216707,
'lng' => 3.6887328
],
'languages' => [
[
'language' => 'nl',
'level' => 2
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant_name}.{region}.techwolf.ai/companies"
payload := strings.NewReader("{\n \"external_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"name\": \"TechWolf\",\n \"vat\": \"BE0702852201\",\n \"location\": {\n \"lat\": 51.0216707,\n \"lng\": 3.6887328\n },\n \"languages\": [\n {\n \"language\": \"nl\",\n \"level\": 2\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{tenant_name}.{region}.techwolf.ai/companies")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"external_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"name\": \"TechWolf\",\n \"vat\": \"BE0702852201\",\n \"location\": {\n \"lat\": 51.0216707,\n \"lng\": 3.6887328\n },\n \"languages\": [\n {\n \"language\": \"nl\",\n \"level\": 2\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/companies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"external_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"name\": \"TechWolf\",\n \"vat\": \"BE0702852201\",\n \"location\": {\n \"lat\": 51.0216707,\n \"lng\": 3.6887328\n },\n \"languages\": [\n {\n \"language\": \"nl\",\n \"level\": 2\n }\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"title": "400 Bad Request",
"description": "The request body was not structured correctly."
}
][
{
"title": "401 Unauthorized",
"description": "OAuth access token is missing, invalid or expired."
}
][
{
"title": "403 Forbidden",
"description": "You don't have access to this resource."
}
][
{
"title": "405 Method Not Allowed",
"description": "This method is not allowed for the requested URL."
}
][
{
"title": "409 Conflict",
"description": "The resource already exists."
}
][
{
"title": "413 Payload Too Large",
"description": "Request payload is too large."
}
][
{
"title": "415 Unsupported Media Type",
"description": "Content-type must be one of: application/json"
}
]"max connections reached: <limit>"[
{
"title": "503 Service Unavailable",
"description": "The Skill Engine API is currently not available. Please contact TechWolf or try again later."
}
]Create External Company
Submit new External Company information to store inside the Skill Engine API.
curl --request POST \
--url https://{tenant_name}.{region}.techwolf.ai/companies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"external_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"name": "TechWolf",
"vat": "BE0702852201",
"location": {
"lat": 51.0216707,
"lng": 3.6887328
},
"languages": [
{
"language": "nl",
"level": 2
}
]
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/companies"
payload = {
"external_id": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"name": "TechWolf",
"vat": "BE0702852201",
"location": {
"lat": 51.0216707,
"lng": 3.6887328
},
"languages": [
{
"language": "nl",
"level": 2
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
external_id: 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
name: 'TechWolf',
vat: 'BE0702852201',
location: {lat: 51.0216707, lng: 3.6887328},
languages: [{language: 'nl', level: 2}]
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/companies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant_name}.{region}.techwolf.ai/companies",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'external_id' => 'a3903505-eb84-42dc-a79f-5e7b1fe897b7',
'name' => 'TechWolf',
'vat' => 'BE0702852201',
'location' => [
'lat' => 51.0216707,
'lng' => 3.6887328
],
'languages' => [
[
'language' => 'nl',
'level' => 2
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant_name}.{region}.techwolf.ai/companies"
payload := strings.NewReader("{\n \"external_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"name\": \"TechWolf\",\n \"vat\": \"BE0702852201\",\n \"location\": {\n \"lat\": 51.0216707,\n \"lng\": 3.6887328\n },\n \"languages\": [\n {\n \"language\": \"nl\",\n \"level\": 2\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{tenant_name}.{region}.techwolf.ai/companies")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"external_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"name\": \"TechWolf\",\n \"vat\": \"BE0702852201\",\n \"location\": {\n \"lat\": 51.0216707,\n \"lng\": 3.6887328\n },\n \"languages\": [\n {\n \"language\": \"nl\",\n \"level\": 2\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/companies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"external_id\": \"a3903505-eb84-42dc-a79f-5e7b1fe897b7\",\n \"name\": \"TechWolf\",\n \"vat\": \"BE0702852201\",\n \"location\": {\n \"lat\": 51.0216707,\n \"lng\": 3.6887328\n },\n \"languages\": [\n {\n \"language\": \"nl\",\n \"level\": 2\n }\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"title": "400 Bad Request",
"description": "The request body was not structured correctly."
}
][
{
"title": "401 Unauthorized",
"description": "OAuth access token is missing, invalid or expired."
}
][
{
"title": "403 Forbidden",
"description": "You don't have access to this resource."
}
][
{
"title": "405 Method Not Allowed",
"description": "This method is not allowed for the requested URL."
}
][
{
"title": "409 Conflict",
"description": "The resource already exists."
}
][
{
"title": "413 Payload Too Large",
"description": "Request payload is too large."
}
][
{
"title": "415 Unsupported Media Type",
"description": "Content-type must be one of: application/json"
}
]"max connections reached: <limit>"[
{
"title": "503 Service Unavailable",
"description": "The Skill Engine API is currently not available. Please contact TechWolf or try again later."
}
]Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
Default structure for External Company data.
The unique ID in your system, consisting of alphanumeric characters, hyphens and underscores.
1 - 100[a-zA-Z0-9_-]+"a3903505-eb84-42dc-a79f-5e7b1fe897b7"
Name of the External Company.
1 - 255"TechWolf"
The VAT identification number for this External Company.
1 - 15"BE0702852201"
A geographic location, expressed in latitude and longitude. This can represent a home address, an office location... Each entity is limited to having a single location. To get the latitude and longitude for a given address, you can use the Google Maps Geocoding API or a predefined lookup table (for example by zip code). If location is present in matching or filters, it will act as an override for geo-distance calculations.
- Location
- Address
Show child attributes
Show child attributes
List of ISO 639-1 codes for language requirements of the External Company, combined with the proficiency level. The proficiency levels go from 1 (elementary proficiency) to 5 (native proficiency). If the level is omitted, the default proficiency level of 2 is used.
Show child attributes
Show child attributes
Response
No Content
Was this page helpful?